package com.zxgj.datadirect.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zxgj.datadirect.entity.DataDirectExchangeTaskLog;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 数据直达交换任务日志服务接口
 * 提供交换任务日志的CRUD操作及自定义业务方法，继承MyBatis-Plus的IService以复用基础功能
 */

public interface DataDirectExchangeTaskLogService extends IService<DataDirectExchangeTaskLog> {

    /**
     * 根据任务ID查询日志列表
     * @param taskId 交换任务ID
     * @return 该任务对应的所有日志列表
     */
    List<DataDirectExchangeTaskLog> listByTaskId(Long taskId);

    /**
     * 根据任务ID和时间范围查询日志
     * @param taskId 交换任务ID
     * @param startTime 开始时间（格式：yyyy-MM-dd HH:mm:ss）
     * @param endTime 结束时间（格式：yyyy-MM-dd HH:mm:ss）
     * @return 符合条件的日志列表
     */
    List<DataDirectExchangeTaskLog> listByTaskIdAndTimeRange(Long taskId, String startTime, String endTime);

    /**
     * 批量保存交换任务日志
     * @param logList 日志列表
     * @return 保存成功的条数
     */
    int saveBatchLogs(List<DataDirectExchangeTaskLog> logList);

    /**
     * 根据日志ID删除指定日志（逻辑删除/物理删除，根据业务需求调整）
     * @param logId 日志ID
     * @return 是否删除成功（true-成功，false-失败）
     */
    boolean removeLogById(Long logId);
}